package com.onlyoffice.demo.onlyoffice.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.time.LocalDateTime;

/**
 * 文件历史
 *
 * @author ZWX
 * @date 2025-07-11
 */
@Data
@TableName("file_history")
public class FileHistory {

    /**
     * 历史Id
     */
    @TableId(type = IdType.AUTO)
    @JsonSerialize(using = ToStringSerializer.class)
    private Long historyId;

    /**
     * 文件Id
     */
    @JsonSerialize(using = ToStringSerializer.class)
    private Long fileId;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime created;

    /**
     * key
     */
    private String historyKey;

    /**
     * 服务器版本
     */
    private String serverVersion;

    /**
     * 用户Id
     */
    private String userId;

    /**
     * 用户名
     */
    private String userName;

    /**
     * 用户组
     */
    private String userGroup;

    /**
     * 用户头像
     */
    private String userImage;

    /**
     * 版本
     */
    private String historyVersion;
}
